The increasing complexity and diversity of current computer systems have made the existing computer infrastructure difficult to manage and insecure. This has led researchers to consider an alternative approach for computer systems design, which is based on principles used by biological systems to deal with complexity, heterogeneity and uncertainty, the approach being referred to as autonomic computing. Autonomic computing is a new paradigm in computing systems design for computer systems that are self-configuring, i.e. automatically configuring components, self-healing, i.e. automatically discovering and correcting faults, self-optimizing, i.e. automatically monitoring and controlling resources to ensure the optimal functioning with respect to the defined requirements, and self-protecting, i.e. providing proactive identification and protection from arbitrary attacks. Autonomic computing solves the management problem of today's complex computing systems by embedding the management of such systems inside the systems themselves, freeing users from potentially overwhelming details.
An Embot™, one form of an autonomic management element for computer systems (and other systems), has been developed by the applicant as described in the articles by Tony White et al. entitled “Design of an Autonomic Element for Server Management” and “Autonomic Control for Servers: Why Management Plane Makes Sense”, both of which are incorporated herein by reference. In the present patent application the terms “Embot™” and “autonomic management element” will be considered as synonyms and used interchangeably throughout the patent application.
Normally, the autonomic management element is designed to manage everything in a computer system from the physical hardware through the operating system (OS) up to and including software applications. So far, an existing development of autonomic management elements has been limited to situations where only one autonomic management element has been required.
However, in view of the ever growing complexity of computer systems, there are numerous situations where a plurality of autonomic management elements need to operate in agreement to provide a holistic management of the entire computer system.
Accordingly, there is a need in the industry for the development of an improved computer system having two or more autonomic management elements, along with the methods for appropriate management of such a computer system, including multiple guest operating systems running on the computer system and their respective software applications.